

#ifndef __CCE_MATERIAL_MATERIALEFFECTOVERVIEW_H__
#define __CCE_MATERIAL_MATERIALEFFECTOVERVIEW_H__

#include <ui_materialgenericlistoverview.h>
#include <material/materialeditor.h>

class cceMaterialEffectFilterModel;
class cceMaterialEffectTreeModel;
class cceMaterialEffectOverview : public cceMaterialOverviewAbstract
{
  Q_OBJECT
private:
  Ui::MaterialGenericListOverview	_gui;

  cceMaterialEffectFilterModel*	_proxyModel;
  cceMaterialEffectTreeModel*		_model;

  void Edit (const QModelIndex &srcIndex);

  void UpdateButtonState ();

private slots:
  void on_pushButtonAdd_clicked ();
  void on_pushButtonRemove_clicked ();
  void on_pushButtonEdit_clicked ();
  void on_pushButtonClearFilter_clicked ();
  void on_treeView_activated (const QModelIndex &index);
  void on_lineEditFilter_textChanged (const QString &text);

  void TreeViewSelectionChanged (const QItemSelection&, const QItemSelection&);

public:
  cceMaterialEffectOverview (QWidget* parent = 0);

  virtual cceMaterialEditorAbstract* CreateEditor (cceMaterialItem* item);
};

#endif /* ! __CCE_MATERIAL_MATERIALEFFECTOVERVIEW_H__ */

